import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;


public class HomeworkBean {

	private String ad;
	private String soyad;
	private String yas;
	private String cinsiyet;
	private String il;
	private String adres;
	private String sehir;
	private String telKod;
	private String telNo;
	private String fakulte;
	private String bolum;
	private String lise;
	private Boolean sendupdates;
	private String [] markaTercihleri;
	private List<SelectItem> fakulteler = new ArrayList<SelectItem>();
	private List<SelectItem> sehirler = new ArrayList<SelectItem>();
	private List<SelectItem> liseler = new ArrayList<SelectItem>();
	private List<SelectItem> bolumler = new ArrayList<SelectItem>();
	private List<SelectItem> markalar = new ArrayList<SelectItem>();

	public HomeworkBean() {
		System.out.println("Running default construct...");
	}

	@PostConstruct
	public void loadData() {
		System.out.println("Running post construct...");
		fakulteYukle();
		bolumYukle();
		//liseYukle();
		sehirYukle();
		markaYukle();
	}

	private void fakulteYukle(){
		System.out.println("Loading fakulteler...");
		getFakulteler().add(new SelectItem("Elektrik-elektronik"));
		getFakulteler().add(new SelectItem("Mimarlık"));
		getFakulteler().add(new SelectItem("Eğitim"));

	}
	private void markaYukle() {
		System.out.println("Loading markalar");
		getMarkalar().add(new SelectItem("Nike"));
		getMarkalar().add(new SelectItem("Adidas"));
		getMarkalar().add(new SelectItem("Puma"));
		getMarkalar().add(new SelectItem("Diesel"));

	}
	private void bolumYukle() {
		System.out.println("Loading bolumler!");
		getBolumler().add(new SelectItem("Bilgisayar Muh."));
		getBolumler().add(new SelectItem("İnşaat Müh"));
		getBolumler().add(new SelectItem("Tıp"));
		getBolumler().add(new SelectItem("Güzel Sanatlar"));
		getBolumler().add(new SelectItem("İç Mimarlık"));
		getBolumler().add(new SelectItem("Ekonomi"));


	}

	private void sehirYukle() {
		System.out.println("Loading sehirler....");
		getSehirler().add(new SelectItem("06","Ankara"));
		getSehirler().add(new SelectItem("35","İzmir"));
		getSehirler().add(new SelectItem("34","İstanbul"));

	}

	private void liseYukle() {

		System.out.println("Loading liseler...");
		getLiseler().add(new SelectItem("İzmir Bornova Anadolu"));
		getLiseler().add(new SelectItem("Çapa Lisesi"));
		getLiseler().add(new SelectItem("Ankara Fen Lisesi"));
		getLiseler().add(new SelectItem("TED"));
		getLiseler().add(new SelectItem("Çamlaraltı Koleji"));


	}

	
	public void loadLiseler(ValueChangeEvent event) {
		System.out.println("Sehirlere gore liseler güncelleniyor...");
		
		liseler.clear();
		
		if(event.getNewValue().equals("35")){
			liseler.add(new SelectItem("İzmir Fen Lisesi"));
			liseler.add(new SelectItem("Borova Lisesi"));
			liseler.add(new SelectItem("Narlıdere Lisesi"));
		}else{
			if(event.getNewValue().equals("06")){
				liseler.add(new SelectItem("Ankara Fen Lisesi"));
				liseler.add(new SelectItem("Ulus Lisesi"));
				liseler.add(new SelectItem("Kızılay Lisesi"));
				
			}else if(event.getNewValue().equals("34")){
				liseler.add(new SelectItem("Zeytinburnu  Lisesi"));
				liseler.add(new SelectItem("Kadıköy Lisesi"));
				liseler.add(new SelectItem("Kabataş Lisesi"));
				
			}
		}

	}
	public void register (){

		System.out.println("Ad: "+getAd());
		System.out.println("Soyad: "+getSoyad());
		System.out.println("Yas: "+getYas());
		System.out.println("Cinsiyet: "+getCinsiyet());
		System.out.println("Il: "+getIl());
		System.out.println("Telefon No:("+getTelKod()+")"+getTelNo());
		System.out.println("Adres: "+getAdres());
		System.out.println("Sehir: "+getSehir());
		System.out.println("Fakulte: "+getFakulte());
		System.out.println("Bolum: "+getBolum());
		System.out.println("Lise: "+getLise());
		
		System.out.println("Marka tercihleri...");
		int counter=0;
		for (String marka: markaTercihleri) {
			counter++;
			System.out.println(counter+". marka: " +marka);
		}
		System.out.println("Registiration successful!!!!........");
	}

	@PreDestroy
	public void finish() {
		System.out.println("Running Pre Destroy");

	}


	public String getAd() {
		return ad;
	}


	public void setAd(String ad) {
		this.ad = ad;
	}

	public String getSoyad() {
		return soyad;
	}


	public void setSoyad(String soyad) {
		this.soyad = soyad;
	}

	public String getYas() {
		return yas;
	}

	public void setYas(String yas) {
		this.yas = yas;
	}

	public String getCinsiyet() {
		return cinsiyet;
	}

	public void setCinsiyet(String cinsiyet) {
		this.cinsiyet = cinsiyet;
	}


	public String getIl() {
		return il;
	}

	public void setIl(String il) {
		this.il = il;
	}

	public String getAdres() {
		return adres;
	}

	public void setAdres(String adres) {
		this.adres = adres;
	}

	public String getSehir() {
		return sehir;
	}

	public void setSehir(String sehir) {
		this.sehir = sehir;
	}

	public String getFakulte() {
		return fakulte;
	}

	public void setFakulte(String fakulte) {
		this.fakulte = fakulte;
	}

	public String getBolum() {
		return bolum;
	}

	public void setBolum(String bolum) {
		this.bolum = bolum;
	}


	public String getLise() {
		return lise;
	}

	public void setLise(String lise) {
		this.lise = lise;
	}


	public void setTelKod(String telKod) {
		this.telKod = telKod;
	}


	public String getTelKod() {
		return telKod;
	}


	public void setTelNo(String telNo) {
		this.telNo = telNo;
	}


	public String getTelNo() {
		return telNo;
	}

	public void setMarkaTercihleri(String [] markaTercihleri) {
		this.markaTercihleri = markaTercihleri;
	}

	public String [] getMarkaTercihleri() {
		return markaTercihleri;
	}

	public void setSehirler(List<SelectItem> sehirler) {
		this.sehirler = sehirler;
	}

	public List<SelectItem> getSehirler() {
		return sehirler;
	}

	public void setLiseler(List<SelectItem> liseler) {
		this.liseler = liseler;
	}

	public List<SelectItem> getLiseler() {
		return liseler;
	}

	public void setBolumler(List<SelectItem> bolumler) {
		this.bolumler = bolumler;
	}

	public List<SelectItem> getBolumler() {
		return bolumler;
	}

	public void setMarkalar(List<SelectItem> markalar) {
		this.markalar = markalar;
	}

	public List<SelectItem> getMarkalar() {
		return markalar;
	}

	public void setFakulteler(List<SelectItem> fakulteler) {
		this.fakulteler = fakulteler;
	}

	public List<SelectItem> getFakulteler() {
		return fakulteler;
	}

	public void setSendupdates(Boolean sendupdates) {
		this.sendupdates = sendupdates;
	}

	public Boolean getSendupdates() {
		return sendupdates;
	}

}//class
